import pickle, pprint


class InputOutput:

    def savaObject(self):
        data1 = {'a': [1, 2.0, 3, 4 + 6j], 'b': ('string', u'Unicode string'), 'c': None}
        selfref_list = [1, 2, 3]
        selfref_list.append(selfref_list)

        output = open('data.pkl', 'wb')
        pickle.dump(data1, output)
        pickle.dump(selfref_list, output, -1)
        output.close()

    def readObject(self):
        pkl_file = open('data.pkl', 'rb')
        data1 = pickle.load(pkl_file)
        pprint.pprint(data1)

        data2 = pickle.load(pkl_file)
        pprint.pprint(data2)
        pkl_file.close()


inputOutput = InputOutput()
#inputOutput.savaObject()
inputOutput.readObject()
